Controle Estatistico de Qualidade
Banco de dados
Teremos a seguir a descritiva dos dados que remetem informacoes de 35 amostras referente a 5 pecas manufaturadas por um processo de moldagem por injecao que foram submetidas a um teste de forca de compressao (em psi).
## p1 p2 p3 p4
## Min. :65.50 Min. :60.20 Min. :67.00 Min. :64.10
## 1st Qu.:77.50 1st Qu.:75.50 1st Qu.:78.25 1st Qu.:74.65
## Median :79.20 Median :79.20 Median :79.30 Median :79.10
## Mean :79.67 Mean :78.68 Mean :79.34 Mean :79.69
## 3rd Qu.:83.20 3rd Qu.:81.95 3rd Qu.:82.25 3rd Qu.:83.45
## Max. :93.60 Max. :99.00 Max. :87.80 Max. :94.40
## p5
## Min. :71.00
## 1st Qu.:75.90
## Median :79.70
## Mean :79.48
## 3rd Qu.:81.75
## Max. :95.30
Obtencao dos limites (inferior e superior)
## Limite_inferior Limite_superior
## Desvios 0.00000 7.928013
## Médias 73.91736 84.748641
Os limites acima foram calculados utilizando as medias e os desvios pela amostra dos dados acima, usamos A3= 1.427, B4= 2.089 e B3= 0 que sao valores de correcao que foram extraidos da tabela do livro do MONTGOMERY.
Analise descritiva das médias
O histograma a seguir representa as médias e os limites superior e inferior.
Nesse caso podemos observar que o processo esta com folga, pois existem intervalos razoavelmente bons entre as medias e os limites.
Histograma das medias
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Grafico de dispersao
Observando o grafico de dispersao percebemos que aparentemente nao ha evidencias de tendencias entre as medias e as amostras. Ou seja, os dados se comportam aleatoriamente.
Graficos de Controle
O grafico a seguir representa 20 amostras de tamanho 5 e seus respectivos limites.
De acordo com o grafico acima o processo esta sob controle.
O grafico acima demonstra que o desvio das medias do processo esta sob controle, porem, houve uma violacao no limite superior no ponto 9.
Inserindo novas amostras
No Grafico acima foram inseridas 15 novas amostras, que estao sendo analisadas com os limites anteriores.
De acordo com o novo grafico de desvios, analisando as 35 amostras, e perceptivel que a partir da amostra 22 o processo comeca a criar uma tendencia crescente, portanto e previsivel que o processo saia de controle como visto no grafico anterior das medias.
Graficos atualizados com novos limites
## Limite_inferior Limite_superior
## Desvios 0.00000 11.04145
## Medias 71.82899 86.91386
Observando o grafico acima, percebemos que com os novos limites o processo ficara sob controle, porem, a partir da amostra 22, podemos observar maior variabilidade das medias.
Observando os novos desvios, mesmo com os limites recalculados, o limite superior foi violado e o grafico continua apresentando uma tendencia crescente.
Utilizando o pacote QCC
## List of 11
## $ call : language qcc(data = dados[1:20, 1:5], type = "xbar", std.dev = "UWAVE-SD", title = "Grafico de controle da media", xl| __truncated__
## $ type : chr "xbar"
## $ data.name : chr "dados[1:20, 1:5]"
## $ data : num [1:20, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics: Named num [1:20] 79.1 80.2 80.4 77.5 80.3 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ sizes : Named int [1:20] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ center : num 79.3
## $ std.dev : num 4.04
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 73.9 84.7
## ..- attr(*, "dimnames")=List of 2
## $ violations:List of 2
## - attr(*, "class")= chr "qcc"
## List of 15
## $ call : language qcc(data = dados[1:20, 1:5], type = "xbar", std.dev = "UWAVE-SD", newdata = dados[21:35, 1:5], title = "Graf| __truncated__ ...
## $ type : chr "xbar"
## $ data.name : chr "dados[1:20, 1:5]"
## $ data : num [1:20, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics : Named num [1:20] 79.1 80.2 80.4 77.5 80.3 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ sizes : Named int [1:20] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ center : num 79.3
## $ std.dev : num 4.04
## $ newstats : Named num [1:15] 78.2 77.4 80.8 85.6 82.7 ...
## ..- attr(*, "names")= chr [1:15] "21" "22" "23" "24" ...
## $ newdata : num [1:15, 1:5] 68.9 69.8 78.5 76.9 93.6 65.5 78.1 74.9 78.1 78.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ newsizes : Named int [1:15] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:15] "21" "22" "23" "24" ...
## $ newdata.name: chr "dados[21:35, 1:5]"
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 73.9 84.7
## ..- attr(*, "dimnames")=List of 2
## $ violations :List of 2
## - attr(*, "class")= chr "qcc"
## List of 11
## $ call : language qcc(data = dados[1:20, 1:5], type = "S", title = "Grafico de controle dos desvios", xlab = "Amostra", ylab = "Desvios")
## $ type : chr "S"
## $ data.name : chr "dados[1:20, 1:5]"
## $ data : num [1:20, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics: Named num [1:20] 2.99 6.65 4.79 3.88 2.49 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ sizes : Named int [1:20] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ center : num 3.8
## $ std.dev : num 4.04
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 0 7.93
## ..- attr(*, "dimnames")=List of 2
## $ violations:List of 2
## - attr(*, "class")= chr "qcc"
## List of 15
## $ call : language qcc(data = dados[1:20, 1:5], type = "S", newdata = dados[21:35, 1:5], title = "Grafico de controle dos desvios co| __truncated__
## $ type : chr "S"
## $ data.name : chr "dados[1:20, 1:5]"
## $ data : num [1:20, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics : Named num [1:20] 2.99 6.65 4.79 3.88 2.49 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ sizes : Named int [1:20] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
## $ center : num 3.8
## $ std.dev : num 4.04
## $ newstats : Named num [1:15] 5.36 7.65 2.8 6.28 8.55 ...
## ..- attr(*, "names")= chr [1:15] "21" "22" "23" "24" ...
## $ newdata : num [1:15, 1:5] 68.9 69.8 78.5 76.9 93.6 65.5 78.1 74.9 78.1 78.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ newsizes : Named int [1:15] 5 5 5 5 5 5 5 5 5 5 ...
## ..- attr(*, "names")= chr [1:15] "21" "22" "23" "24" ...
## $ newdata.name: chr "dados[21:35, 1:5]"
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 0 7.93
## ..- attr(*, "dimnames")=List of 2
## $ violations :List of 2
## - attr(*, "class")= chr "qcc"
## List of 11
## $ call : language qcc(data = dados[, 1:5], type = "xbar", std.dev = "UWAVE-SD", title = "Grafico de controle da media com os limite| __truncated__
## $ type : chr "xbar"
## $ data.name : chr "dados[, 1:5]"
## $ data : num [1:35, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics: Named num [1:35] 79.1 80.2 80.4 77.5 80.3 ...
## ..- attr(*, "names")= chr [1:35] "1" "2" "3" "4" ...
## $ sizes : int [1:35] 5 5 5 5 5 5 5 5 5 5 ...
## $ center : num 79.4
## $ std.dev : num 5.62
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 71.8 86.9
## ..- attr(*, "dimnames")=List of 2
## $ violations:List of 2
## - attr(*, "class")= chr "qcc"
## List of 11
## $ call : language qcc(data = dados[, 1:5], type = "S", title = "Grafico de controle dos desvios com os limites recalculados", | __truncated__
## $ type : chr "S"
## $ data.name : chr "dados[, 1:5]"
## $ data : num [1:35, 1:5] 83 88.6 85.7 80.8 83.4 75.3 74.5 79.2 80.5 75.7 ...
## ..- attr(*, "dimnames")=List of 2
## $ statistics: Named num [1:35] 2.99 6.65 4.79 3.88 2.49 ...
## ..- attr(*, "names")= chr [1:35] "1" "2" "3" "4" ...
## $ sizes : int [1:35] 5 5 5 5 5 5 5 5 5 5 ...
## $ center : num 5.29
## $ std.dev : num 5.62
## $ nsigmas : num 3
## $ limits : num [1, 1:2] 0 11
## ..- attr(*, "dimnames")=List of 2
## $ violations:List of 2
## - attr(*, "class")= chr "qcc"